@startuml
namespace dropapp {
    class Endpoint << (S,Aquamarine) >> {
        + URL string
        + Type EndpointType
        + Description string

    }
    class Manager << (S,Aquamarine) >> {
        - log *zap.SugaredLogger
        - v8sClient *v8s.Client
        - properties configuration.V8SProperties

        + Create(ctx context.Context, composeData string, projectID internal.ProjectID, rn internal.ResourceName) (*Task, error)
        + Delete(ctx context.Context, rn internal.ResourceName) error
        + SearchResourcesUpdatedAfter(ctx context.Context, from time.Time, limit int) ([]Task, error)
        + Suspend(ctx context.Context, rn internal.ResourceName) error
        + Unsuspend(ctx context.Context, rn internal.ResourceName) error
        + GetTask(ctx context.Context, rn internal.ResourceName) (Task, error)
        + GetCompose(ctx context.Context) (Compose, error)

    }
    class Task << (S,Aquamarine) >> {
        + RN internal.ResourceName
        + Status StatusValue
        + Endpoints []Endpoint

    }
    class dropapp.Compose << (T, #FF7700) >>  {
    }
    class dropapp.EndpointType << (T, #FF7700) >>  {
    }
    class dropapp.StatusValue << (T, #FF7700) >>  {
    }
}


"__builtin__.string" #.. "dropapp.Compose"
"__builtin__.string" #.. "dropapp.EndpointType"
"__builtin__.string" #.. "dropapp.StatusValue"
@enduml
